package com.jeethink.erp.commodity.domain;

import java.math.BigDecimal;

import com.jeethink.common.core.domain.entity.TbShop;
import com.jeethink.erp.pile.domain.TbStockPile;
import com.jeethink.erp.unit.domain.TbProductUnit;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jeethink.common.annotation.Excel;
import com.jeethink.common.core.domain.BaseEntity;

/**
 * 商品基本信息对象 tb_commodity
 * 
 * @author ypr
 * @date 2021-05-26
 */
public class TbCommodity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long commodityId;

    /** 商品编号 */
    @Excel(name = "商品编号")
    private String commodityNo;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String commodityName;

    /** 商品单位 */
    @Excel(name = "商品单位")
    private String commodityUnit;

    /** 商品规格 */
    @Excel(name = "商品规格")
    private String commodityState;

    /** 商品类型 */
    @Excel(name = "商品类型")
    private String commodityType;

    //进价
    private BigDecimal purchasePrice;

    /** 标价 */
    @Excel(name = "标价")
    private BigDecimal price;

    /** 商品计量单位id */
    @Excel(name = "商品计量单位id")
    private String productUnitId;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    //所属库存
    private Long stockPileId;

    //计量单位实体
    private TbProductUnit tbProductUnit;

    private TbShop tbShop;

    private TbStockPile tbStockPile;

    private Long shopId;

    //商品标价
    private BigDecimal commodityPrice;
    //
    private Long commodityTypeId;

    private Long[] commodityTypeIds;

    private int pageCurrent;
    private int pageSize;


    public int getPageCurrent() {
        return pageCurrent;
    }

    public void setPageCurrent(int pageCurrent) {
        this.pageCurrent = pageCurrent;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public Long getCommodityTypeId() {
        return commodityTypeId;
    }

    public void setCommodityTypeId(Long commodityTypeId) {
        this.commodityTypeId = commodityTypeId;
    }




    public Long[] getCommodityTypeIds() {
        return commodityTypeIds;
    }

    public void setCommodityTypeIds(Long[] commodityTypeIds) {
        this.commodityTypeIds = commodityTypeIds;
    }

    public BigDecimal getCommodityPrice() {
        return commodityPrice;
    }

    public void setCommodityPrice(BigDecimal commodityPrice) {
        this.commodityPrice = commodityPrice;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public TbShop getTbShop() {
        return tbShop;
    }

    public void setTbShop(TbShop tbShop) {
        this.tbShop = tbShop;
    }

    public TbStockPile getTbStockPile() {
        return tbStockPile;
    }

    public void setTbStockPile(TbStockPile tbStockPile) {
        this.tbStockPile = tbStockPile;
    }

    public BigDecimal getPurchasePrice() {
        return purchasePrice;
    }

    public void setPurchasePrice(BigDecimal purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    public Long getStockPileId() {
        return stockPileId;
    }

    public void setStockPileId(Long stockPileId) {
        this.stockPileId = stockPileId;
    }

    public TbProductUnit getTbProductUnit() {
        return tbProductUnit;
    }

    public void setTbProductUnit(TbProductUnit tbProductUnit) {
        this.tbProductUnit = tbProductUnit;
    }

    public void setCommodityId(Long commodityId)
    {
        this.commodityId = commodityId;
    }

    public Long getCommodityId() 
    {
        return commodityId;
    }
    public void setCommodityNo(String commodityNo) 
    {
        this.commodityNo = commodityNo;
    }

    public String getCommodityNo() 
    {
        return commodityNo;
    }
    public void setCommodityName(String commodityName) 
    {
        this.commodityName = commodityName;
    }

    public String getCommodityName() 
    {
        return commodityName;
    }
    public void setCommodityUnit(String commodityUnit) 
    {
        this.commodityUnit = commodityUnit;
    }

    public String getCommodityUnit() 
    {
        return commodityUnit;
    }
    public void setCommodityState(String commodityState) 
    {
        this.commodityState = commodityState;
    }

    public String getCommodityState() 
    {
        return commodityState;
    }
    public void setCommodityType(String commodityType) 
    {
        this.commodityType = commodityType;
    }

    public String getCommodityType() 
    {
        return commodityType;
    }

    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setProductUnitId(String productUnitId) 
    {
        this.productUnitId = productUnitId;
    }

    public String getProductUnitId() 
    {
        return productUnitId;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("commodityId", getCommodityId())
            .append("commodityNo", getCommodityNo())
            .append("commodityName", getCommodityName())
            .append("commodityUnit", getCommodityUnit())
            .append("commodityState", getCommodityState())
            .append("commodityType", getCommodityType())
            .append("price", getPrice())
            .append("productUnitId", getProductUnitId())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
